package com.ziyia.vierpager2;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import org.jetbrains.annotations.NotNull;

public class FragmentOne extends Fragment {

    // 用于存储FragmentOne对象
    private View root;

    // 参数名
    private final static String APG_TEST = "param1";
    // 参数值
    private String mString;


    // 接收参数值，并实例化FragmentOne返回
    public static FragmentOne newInstance(String param1) {
        // 实例化一个Bundle
        Bundle args = new Bundle();
        // 为Bundle设置数据
        args.putString(APG_TEST, param1);
        // 实例化一个FragmentOne
        FragmentOne fragment = new FragmentOne();
        // 把Bundle添加到Arguments中
        fragment.setArguments(args);
        // 返回FragmentOne
        return fragment;
    }

    // 对象创建时，通过Arguments来获取参数值，并赋值给mString
    @Override
    public void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mString = getArguments().getString(APG_TEST);
        }
    }

    /**
     * 创建Fragment布局
     * @param inflater
     * @param container
     * @param savedInstanceState
     * @return
     */
    @Nullable
    @org.jetbrains.annotations.Nullable
    @Override
    public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
        // 如果布局是空的，我们加载Fragment_one页面文件并赋值给root
        if (root == null) {
           root = inflater.inflate(R.layout.fragment_one, container, false);
        }
        // 如果布局不空空，同获取其中的按钮，并将mString设置到文本控件上

        // 通过root获取文件控件
        TextView textView = root.findViewById(R.id.textView);
        // 为文本控件设置内容
        textView.setText(mString);
        // 返回root
        return root;
    }
}
